<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>tinyOS: 存储块</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">tinyOS
   &#160;<span id="projectnumber">v1.00</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">存储块</div>  </div>
</div><!--header-->
<div class="contents">

<p>tinyOS的存储块的实现  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__t_mem_block.html">_tMemBlock</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__t_mem_block_info.html">_tMemBlockInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga0892504224d300db87953ba841db0dec"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__t_mem_block.html">_tMemBlock</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a></td></tr>
<tr class="separator:ga0892504224d300db87953ba841db0dec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae752a225a7228c55628d89eccc989ef1"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct__t_mem_block_info.html">_tMemBlockInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gae752a225a7228c55628d89eccc989ef1">tMemBlockInfo</a></td></tr>
<tr class="separator:gae752a225a7228c55628d89eccc989ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5af4d0c00dfeb923f7157c8f80692553"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga5af4d0c00dfeb923f7157c8f80692553">tMemBlockInit</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock, void *memStart, uint32_t blockSize, uint32_t blockCnt)</td></tr>
<tr class="separator:ga5af4d0c00dfeb923f7157c8f80692553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ffdf77b2ef5b1e59f0738c018747af5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga1ffdf77b2ef5b1e59f0738c018747af5">tMemBlockWait</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock, void **mem, uint32_t waitTicks)</td></tr>
<tr class="separator:ga1ffdf77b2ef5b1e59f0738c018747af5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac5c449adc2d5137dad06af15945cb160"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gac5c449adc2d5137dad06af15945cb160">tMemBlockNoWaitGet</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock, void **mem)</td></tr>
<tr class="separator:gac5c449adc2d5137dad06af15945cb160"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d3a796b2adc7cae76cdc6dd4eadc3d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga7d3a796b2adc7cae76cdc6dd4eadc3d6">tMemBlockNotify</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock, void *mem)</td></tr>
<tr class="separator:ga7d3a796b2adc7cae76cdc6dd4eadc3d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb1cf37f4aa43734f48d3faee0883a13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gacb1cf37f4aa43734f48d3faee0883a13">tMemBlockGetInfo</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock, <a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gae752a225a7228c55628d89eccc989ef1">tMemBlockInfo</a> *info)</td></tr>
<tr class="separator:gacb1cf37f4aa43734f48d3faee0883a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee9913bc670870b17fa9dd86e125d1fe"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gaee9913bc670870b17fa9dd86e125d1fe">tMemBlockDestroy</a> (<a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *memBlock)</td></tr>
<tr class="separator:gaee9913bc670870b17fa9dd86e125d1fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>tinyOS的存储块的实现 </p>
<dl class="section author"><dt>Author</dt><dd>01课堂 lishutong </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2017-06-01 </dd></dl>
<dl class="section version"><dt>Version</dt><dd>1.0 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>版权所有，禁止用于商业用途 </dd></dl>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga0892504224d300db87953ba841db0dec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0892504224d300db87953ba841db0dec">&#9670;&nbsp;</a></span>tMemBlock</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__t_mem_block.html">_tMemBlock</a>  <a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="gae752a225a7228c55628d89eccc989ef1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae752a225a7228c55628d89eccc989ef1">&#9670;&nbsp;</a></span>tMemBlockInfo</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="struct__t_mem_block_info.html">_tMemBlockInfo</a>  <a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gae752a225a7228c55628d89eccc989ef1">tMemBlockInfo</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaee9913bc670870b17fa9dd86e125d1fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaee9913bc670870b17fa9dd86e125d1fe">&#9670;&nbsp;</a></span>tMemBlockDestroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t tMemBlockDestroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>销毁存储控制块 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>需要销毁的存储控制块 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>因销毁该存储控制块而唤醒的任务数量 </dd></dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00153">153</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gaee9913bc670870b17fa9dd86e125d1fe_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gaee9913bc670870b17fa9dd86e125d1fe_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gaee9913bc670870b17fa9dd86e125d1fe_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gaee9913bc670870b17fa9dd86e125d1fe_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="364,203,489,228"/>
<area shape="rect" id="node3" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#gace850c06cc2fc2f07296e1eb4552030a" title="tEventRemoveAll" alt="" coords="187,151,310,176"/>
<area shape="rect" id="node11" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="369,252,484,277"/>
<area shape="rect" id="node12" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="203,303,293,328"/>
<area shape="rect" id="node4" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="386,104,467,129"/>
<area shape="rect" id="node5" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf2dc8b31ed5ec5aac0b7bebc21448a78" title="tListRemoveFirst" alt="" coords="366,153,487,179"/>
<area shape="rect" id="node6" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga5086649a1a0f0337850b059e6d28807e" title="将延时的任务从延时队列中唤醒 " alt="" coords="360,5,492,31"/>
<area shape="rect" id="node8" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="369,55,483,80"/>
<area shape="rect" id="node7" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="562,5,657,31"/>
<area shape="rect" id="node9" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="562,55,657,80"/>
<area shape="rect" id="node10" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="566,104,653,129"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="358,301,494,327"/>
<area shape="rect" id="node17" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="361,351,491,376"/>
<area shape="rect" id="node18" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="380,400,472,425"/>
<area shape="rect" id="node14" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="542,327,676,352"/>
<area shape="rect" id="node16" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="573,277,645,303"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="724,327,849,352"/>
</map>
</div>

</div>
</div>
<a id="gacb1cf37f4aa43734f48d3faee0883a13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacb1cf37f4aa43734f48d3faee0883a13">&#9670;&nbsp;</a></span>tMemBlockGetInfo()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tMemBlockGetInfo </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#gae752a225a7228c55628d89eccc989ef1">tMemBlockInfo</a> *&#160;</td>
          <td class="paramname"><em>info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>查询存储控制块的状态信息 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>存储控制块 </td></tr>
    <tr><td class="paramname">info</td><td>状态查询存储的位置 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00136">136</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gacb1cf37f4aa43734f48d3faee0883a13_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gacb1cf37f4aa43734f48d3faee0883a13_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gacb1cf37f4aa43734f48d3faee0883a13_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gacb1cf37f4aa43734f48d3faee0883a13_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="353,5,478,31"/>
<area shape="rect" id="node3" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga787144c85b33b5e1a0ac251f154ae285" title="tSlistCount" alt="" coords="202,31,288,56"/>
<area shape="rect" id="node4" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga312cd12071f2d18172b4020079af49a2" title="tEventWaitCount" alt="" coords="184,80,305,105"/>
<area shape="rect" id="node6" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="358,129,473,155"/>
<area shape="rect" id="node5" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="375,80,456,105"/>
</map>
</div>

</div>
</div>
<a id="ga5af4d0c00dfeb923f7157c8f80692553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5af4d0c00dfeb923f7157c8f80692553">&#9670;&nbsp;</a></span>tMemBlockInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tMemBlockInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>memStart</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>blockSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>blockCnt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>初始化存储控制块 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>等待初始化的存储控制块 </td></tr>
    <tr><td class="paramname">memStart</td><td>存储区的起始地址 </td></tr>
    <tr><td class="paramname">blockSize</td><td>每个块的大小 </td></tr>
    <tr><td class="paramname">blockCnt</td><td>总的块数量 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>唤醒的任务数量 </dd></dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00027">27</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga5af4d0c00dfeb923f7157c8f80692553_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga5af4d0c00dfeb923f7157c8f80692553_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga5af4d0c00dfeb923f7157c8f80692553_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga5af4d0c00dfeb923f7157c8f80692553_cgraph">
<area shape="rect" id="node2" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga5ca43de9442770133c4c2ac38e696049" title="tEventInit" alt="" coords="172,5,249,31"/>
<area shape="rect" id="node4" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf8a78399b0ba1d065066ad9766773f46" title="tSlistInit" alt="" coords="176,55,244,80"/>
<area shape="rect" id="node5" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gacc07a6fb55e3ba70ace665ecfc2e45e8" title="tSnodeInit" alt="" coords="170,104,251,129"/>
<area shape="rect" id="node6" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf1703fe22c881d476c7d722416c5f323" title="tSListAddLast" alt="" coords="158,153,262,179"/>
<area shape="rect" id="node3" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gab4cbecbc9ce397733c027de83ce17f81" title="tListInit" alt="" coords="310,5,374,31"/>
</map>
</div>

</div>
</div>
<a id="ga7d3a796b2adc7cae76cdc6dd4eadc3d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7d3a796b2adc7cae76cdc6dd4eadc3d6">&#9670;&nbsp;</a></span>tMemBlockNotify()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void tMemBlockNotify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>mem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>通知存储块可用，唤醒等待队列中的一个任务，或者将存储块加入队列中 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>通知存储块 </td></tr>
    <tr><td class="paramname">memBlock</td><td>操作的信号量 </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00111">111</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga7d3a796b2adc7cae76cdc6dd4eadc3d6_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga7d3a796b2adc7cae76cdc6dd4eadc3d6_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga7d3a796b2adc7cae76cdc6dd4eadc3d6_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga7d3a796b2adc7cae76cdc6dd4eadc3d6_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="349,55,474,80"/>
<area shape="rect" id="node3" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga312cd12071f2d18172b4020079af49a2" title="tEventWaitCount" alt="" coords="175,55,296,80"/>
<area shape="rect" id="node5" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="354,104,469,129"/>
<area shape="rect" id="node6" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#gae1e675e01faa9fd2a37ab29b2092d646" title="tEventWakeUp" alt="" coords="180,156,290,181"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="190,205,280,231"/>
<area shape="rect" id="node20" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf1703fe22c881d476c7d722416c5f323" title="tSListAddLast" alt="" coords="183,255,287,280"/>
<area shape="rect" id="node4" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="371,5,452,31"/>
<area shape="rect" id="node7" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gaf2dc8b31ed5ec5aac0b7bebc21448a78" title="tListRemoveFirst" alt="" coords="351,153,472,179"/>
<area shape="rect" id="node8" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga5086649a1a0f0337850b059e6d28807e" title="将延时的任务从延时队列中唤醒 " alt="" coords="346,203,478,228"/>
<area shape="rect" id="node10" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab7c2dfbda696e43a8c35ab97731837a0" title="将任务设置为就绪状态 " alt="" coords="355,252,469,277"/>
<area shape="rect" id="node9" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="547,153,642,179"/>
<area shape="rect" id="node11" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="547,252,642,277"/>
<area shape="rect" id="node12" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga77e6ff906f4751ea7f055562b94cad54" title="tBitmapSet" alt="" coords="551,203,638,228"/>
<area shape="rect" id="node14" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="344,301,480,327"/>
<area shape="rect" id="node18" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="347,351,476,376"/>
<area shape="rect" id="node19" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="366,400,458,425"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="528,351,662,376"/>
<area shape="rect" id="node17" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="559,301,631,327"/>
<area shape="rect" id="node16" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="710,351,835,376"/>
</map>
</div>

</div>
</div>
<a id="gac5c449adc2d5137dad06af15945cb160"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac5c449adc2d5137dad06af15945cb160">&#9670;&nbsp;</a></span>tMemBlockNoWaitGet()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t tMemBlockNoWaitGet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>mem</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>获取存储块，如果没有存储块，则立即退回 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>等待的存储块 </td></tr>
    <tr><td class="paramname">mem</td><td>存储块存储的地址 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>获取结果, tErrorResourceUnavaliable.tErrorNoError </dd></dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00090">90</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gac5c449adc2d5137dad06af15945cb160_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gac5c449adc2d5137dad06af15945cb160_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gac5c449adc2d5137dad06af15945cb160_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_gac5c449adc2d5137dad06af15945cb160_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="208,5,333,31"/>
<area shape="rect" id="node3" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga787144c85b33b5e1a0ac251f154ae285" title="tSlistCount" alt="" coords="228,55,313,80"/>
<area shape="rect" id="node4" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9cca374b0d96db129d694861c3ce7d6d" title="tSListRemoveFirst" alt="" coords="205,104,336,129"/>
<area shape="rect" id="node5" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="213,153,328,179"/>
</map>
</div>

</div>
</div>
<a id="ga1ffdf77b2ef5b1e59f0738c018747af5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1ffdf77b2ef5b1e59f0738c018747af5">&#9670;&nbsp;</a></span>tMemBlockWait()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t tMemBlockWait </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97.html#ga0892504224d300db87953ba841db0dec">tMemBlock</a> *&#160;</td>
          <td class="paramname"><em>memBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>mem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>waitTicks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>等待存储块 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">memBlock</td><td>等待的存储块 </td></tr>
    <tr><td class="paramname">mem</td><td>存储块存储的地址 </td></tr>
    <tr><td class="paramname">waitTicks</td><td>当没有存储块时，等待的ticks数，为0时表示永远等待 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>等待结果,tErrorResourceUnavaliable.tErrorNoError,tErrorTimeout </dd></dl>

<p class="definition">Definition at line <a class="el" href="t_mem_block_8c_source.html#l00059">59</a> of file <a class="el" href="t_mem_block_8c_source.html">tMemBlock.c</a>.</p>
<div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga1ffdf77b2ef5b1e59f0738c018747af5_cgraph.png" border="0" usemap="#group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga1ffdf77b2ef5b1e59f0738c018747af5_cgraph" alt=""/></div>
<map name="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga1ffdf77b2ef5b1e59f0738c018747af5_cgraph" id="group___xE5_xAD_x98_xE5_x82_xA8_xE5_x9D_x97_ga1ffdf77b2ef5b1e59f0738c018747af5_cgraph">
<area shape="rect" id="node2" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gab4d6c802c474b9071f48312bed3dec74" title="tTaskEnterCritical" alt="" coords="351,153,476,179"/>
<area shape="rect" id="node3" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga787144c85b33b5e1a0ac251f154ae285" title="tSlistCount" alt="" coords="189,304,275,329"/>
<area shape="rect" id="node4" href="group___xE5_x8D_x95_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9cca374b0d96db129d694861c3ce7d6d" title="tSListRemoveFirst" alt="" coords="167,353,297,379"/>
<area shape="rect" id="node5" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga21b4efbc4cb710d7d0e71678d2b13e53" title="tTaskExitCritical" alt="" coords="355,203,471,228"/>
<area shape="rect" id="node6" href="group___xE4_xBA_x8B_xE4_xBB_xB6_xE6_x8E_xA7_xE5_x88_xB6_xE5_x9D_x97.html#ga0bbda829b0d83072138caad66f98899a" title="tEventWait" alt="" coords="189,255,275,280"/>
<area shape="rect" id="node13" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gaeb48f2b93febc962f23d9a6a72db9d8e" title="任务调度接口。通过它来选择下一个具体的任务，然后切换至该任务运行。 " alt="" coords="187,103,277,128"/>
<area shape="rect" id="node7" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga6f3aa47609478099b79d1520a9baf9b3" title="将任务从就绪列表中移除 " alt="" coords="348,353,479,379"/>
<area shape="rect" id="node11" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga6278d548e9b37d514acbebc25617f1b6" title="tListAddLast" alt="" coords="549,253,644,279"/>
<area shape="rect" id="node12" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga1f612696830f8adeb411745ff719377c" title="将任务加入延时队列中 " alt="" coords="359,252,467,277"/>
<area shape="rect" id="node8" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga58e2fef327c5254062441ec2f8a101a6" title="tListRemove" alt="" coords="548,304,644,329"/>
<area shape="rect" id="node9" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#gad01c0c24187a334e78e7ba6d677306cb" title="tListCount" alt="" coords="556,353,637,379"/>
<area shape="rect" id="node10" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga63a37ae88a06249de873bb54340de517" title="tBitmapClear" alt="" coords="547,403,645,428"/>
<area shape="rect" id="node14" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#gac9f0cf7d9a8b992eb7f43c84aeb1ddca" title="获取当前最高优先级且可运行的任务 " alt="" coords="345,55,481,80"/>
<area shape="rect" id="node18" href="group___hooks_xE6_x89_xA9_xE5_xB1_x95.html#gaf5f3298fd391c362d819f3a765834091" title="tHooksTaskSwitch" alt="" coords="348,104,478,129"/>
<area shape="rect" id="node19" href="group___xE5_x86_x85_xE6_xA0_xB8_xE6_xA0_xB8_xE5_xBF_x83.html#ga0cd2c487eac7429325389fa3ee59867d" title="tTaskSwitch" alt="" coords="367,5,459,31"/>
<area shape="rect" id="node15" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#gae86fbb239ac4694acf71b11c7cc6b479" title="tBitmapGetFirstSet" alt="" coords="529,31,663,56"/>
<area shape="rect" id="node17" href="group___xE5_x8F_x8C_xE5_x90_x91_xE9_x93_xBE_xE8_xA1_xA8.html#ga9203dd58a7f2dafed784c397861dd203" title="tListFirst" alt="" coords="560,80,632,105"/>
<area shape="rect" id="node16" href="group___xE4_xBD_x8D_xE5_x9B_xBE_xE7_xBB_x93_xE6_x9E_x84.html#ga24bbbd4e9273fa00e125cbf600c851c1" title="tBitmapPosCount" alt="" coords="711,31,836,56"/>
</map>
</div>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
